package com.dsg.entity.account;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 天鑽公司賬簿
 * </p>
 *
 * @author system
 * @since 2021-01-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("dsg_account_book")
@ApiModel(value="DsgAccountBook对象", description="天鑽公司賬簿")
public class DsgAccountBook implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主鍵")
    @TableId("OID")
    private String oid;

    @ApiModelProperty(value = "企業編碼")
    @TableField("ENT_CODE")
    private String entCode;

    @ApiModelProperty(value = "关联编号")
    @TableField("REFERNCE_CODE")
    private String refernceCode;

    @ApiModelProperty(value = "科目")
    @TableField("BOOK_SUBJECT")
    private String bookSubject;

    @ApiModelProperty(value = "借项金额")
    @TableField("BORROW")
    private BigDecimal borrow;

    @ApiModelProperty(value = "贷项金额")
    @TableField("LOAN")
    private BigDecimal loan;

    @JsonFormat(pattern = "dd/MM/yyyy  HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "記賬日期")
    @TableField("BOOK_DATE")
    private Date bookDate;

    @ApiModelProperty(value = "备注")
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty(value = "创建人")
    @TableField("CREATER")
    private String creater;

    @JsonFormat(pattern = "dd/MM/yyyy  HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    @TableField("UPDATER")
    private String updater;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATE_TIME")
    private Date updateTime;

    @ApiModelProperty(value = "科目集合")
    @TableField(exist = false)
    private List<DsgAccountBook> bookList;

    @ApiModelProperty(value = "創建日期開始")
    @TableField(exist = false)
    private String createTimeStart;

    @ApiModelProperty(value = "創建日期結束")
    @TableField(exist = false)
    private String createTimeEnd;
}
